# -*- coding: UTF-8 -*- 

from tkinter import *
from math import *
from Ressources import *
import random


class Joueur():
    def __init__(self,nom):
        self.nom=nom
        
class Unite():
    def __init__(self,proprio):
        self.proprio=proprio
        
class Planete():
    def __init__(self,ID,nom,type,estHabitee,sysSolaire,size,posX,posY,posZ,joueur,listeRessources):
        self.largeur=sqrt(size)
        self.longueur=sqrt(size)
        self.ID=ID
        self.nom=nom
        self.type=type # 1,2 ou 3 pour ressources
        self.estHabitee=estHabitee #Boolean pour savoir si la planete est habitee
        self.sysSolaire=sysSolaire
        self.size=size  #en mètre carré
        self.posX=posX
        self.posY=posY
        self.posZ=posZ
        self.joueur=joueur
        self.revenus=[0,0,0,0] # Nourriture, energie, minerais et connaissance
        self.depenses=[0,0,0,0] # Nourriture, energie, minerais et connaissance
        self.listeBatiments=[]
        self.listeUnite=[]
        self.uniteCourant=[]
        self.listeRessources = listeRessources # Seulement minerais pour l'instant
        self.isAffiche=False
        self.isVisite=False
        self.isChange=False
        
    def calcDepenses(self): # À faire
        for i in self.listeBatiment:  
            self.depenses[i.type]+=i.depenses # i.type = 0,1,2 ou 3  
    
    def calcRevenus(self):
        rev =0 
        for b in self.listeBatiments:
            if b.nom == 'mine':
                rev +=5

        return rev
            
    
    def listeUniteJoueur(self):
        liste=[]
        for i in self.listeUnite:
            if(i.proprio==self.joueur.nom):
                liste.append(i)
        return liste
    
    def isNotrePlanete(self,joueurCourant):
        if joueurCourant.nom==self.joueur.nom :
            return True
        else:
            return False
    
    def ajoutUnite(self,unite):
        self.listeUnite.append(unite)
